Embodiments of the present invention relate generally to the field of computer client/server architecture, and more particularly to adaptable applications in a client/server architecture.
The decision whether a web-based application should execute on the client side or the server side typically is made during the design process. However at design time the server infrastructure or client capabilities may be unknown. Consequently, the application developer estimates the average client/server configuration and capabilities, and the assignment of client/server responsibilities is final once the application is written. This allocation of application responsibilities may result in an unsatisfactory balance, for example, when a powerful client machine is idle while a server has a heavy processing load, or an expensive server infrastructure is underutilized while less powerful client machines struggle to execute the application.
A responsive client/server web-based architecture whereby the application dynamically adjusts to the client/server conditions may allow an application to perform optimally under varying conditions.